#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>

static int int_param = 1;
static int arr[] = {1,2,3,4,5,6};
static int n = ARRAY_SIZE(arr);

module_param(int_param, int, 0644);
MODULE_PARM_DESC(int_param, "integer type parameter");
module_param_array(arr, int, &n, 0644);
MODULE_PARM_DESC(arr, "integer type array parameter");

static __init int param_init(void)
{
	int i;

	printk("Hello param!\n");
	printk("int_param=%d\n", int_param);

	for(i = 0; i < n; i++)
	{
		printk("arr[%d] = %d\n", i, arr[i]);
	}
	return 0;
}

static __exit void param_exit(void)
{
	printk("Bye param!\n");
}

module_init(param_init);
module_exit(param_exit);

MODULE_LICENSE("GPL");
